package com.cj.service;

import com.cj.po.Dormitory;
import com.cj.po.PageInfo;

import java.util.List;

/**
 * DormitoryService接口定义了对宿舍管理的服务方法。
 */
public interface DormitoryService {

     /**
      * 根据指定条件分页查询宿舍信息。
      *
      * @param g_id          关联的群体ID
      * @param d_id          宿舍ID
      * @param d_dormbuilding 宿舍楼名称
      * @param d_grade       宿舍等级
      * @param pageIndex     当前页码
      * @param pageSize      每页显示的数据条数
      * @return 包含宿舍信息的分页信息
      */
     PageInfo<Dormitory> findPageInfo(Integer g_id, Integer d_id, String d_dormbuilding,
                                      Integer d_grade, Integer pageIndex, Integer pageSize);

     /**
      * 根据宿舍ID删除宿舍信息。
      *
      * @param d_id 宿舍ID
      * @return 删除的结果，成功返回1，失败返回0
      */
     int deleteDormitory(Integer d_id);

     /**
      * 添加新的宿舍信息。
      *
      * @param dormitory 要添加的宿舍对象
      * @return 添加结果，成功返回1，失败返回0
      */
     int addDormitory(Dormitory dormitory);

     /**
      * 更新宿舍信息。
      *
      * @param dormitory 要更新的宿舍对象
      * @return 更新结果，成功返回1，失败返回0
      */
     int updateDormitory(Dormitory dormitory);

     /**
      * 根据宿舍ID查找宿舍信息。
      *
      * @param d_id 宿舍ID
      * @return 找到的宿舍对象，如果不存在则返回null
      */
     Dormitory findDormitoryById(Integer d_id);

     /**
      * 获取所有宿舍信息。
      *
      * @return 宿舍对象列表
      */
     List<Dormitory> getAll();
}
